{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在2014年的ImageNet图像识别挑战赛中，一个名叫GoogLeNet的网络结构大放异彩。它虽然在名字上向LeNet致敬，但在网络结构上已经很难看到LeNet的影子。GoogLeNet吸收了NiN中网络串联网络的思想，并在此基础上做了很大改进。在随后的几年里，研究人员对GoogLeNet进行了数次改进，这里介绍这个模型系列的第一个版本。"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Inception块\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import time\n",
    "import torch\n",
    "from torch import nn, optim\n",
    "import torch.nn.functional as F\n",
    "import sys\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
    "\n",
    "class Inception(nn.Module):\n",
    "    # c1 - c4为每条线路里的层的输出通道数\n",
    "    def __init__(self, in_c, c1, c2, c3, c4):\n",
    "        super(Inception, self).__init__()\n",
    "        # 线路1，单1 x 1卷积层\n",
    "        self.p1_1 = nn.Conv2d(in_c, c1, kernel_size=1)\n",
    "        # 线路2，1 x 1卷积层后接3 x 3卷积层\n",
    "        self.p2_1 = nn.Conv2d(in_c, c2[0], kernel_size=1)\n",
    "        self.p2_2 = nn.Conv2d(c2[0], c2[1], kernel_size=3, padding=1)\n",
    "        # 线路3, 1 x 1卷积层后接5 x 5卷积层\n",
    "        self.p3_1 = nn.Conv2d(in_c, c3[0], kernel_size=1)\n",
    "        self.p3_2 = nn.Conv2d(c3[0], c3[1], kernel_size=5, padding=2)\n",
    "        # 线路4，3 x 3最大池化层后接1 x 1卷积层\n",
    "        self.p4_1 = nn.MaxPool2d(kernel_size=3, stride=1, padding=1)\n",
    "        self.p4_2 = nn.Conv2d(in_c, c4, kernel_size=1)\n",
    "        \n",
    "    def forward(self, x):\n",
    "        p1 = F.relu(self.p1_1(x))\n",
    "        p2 = F.relu(self.p2_2(F.relu(self.p2_1(x))))\n",
    "        p3 = F.relu(self.p3_2(F.relu(self.p3_1(x))))\n",
    "        p4 = F.relu(self.p4_2(self.p4_1(x)))\n",
    "        return torch.cat((p1, p2, p3, p4), dim=1) # 在通道维上连结输出\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### GoogLeNet模型\n",
    "GoogLeNet跟VGG一样，在主体卷积部分中使用5个模块（block），每个模块之间使用步幅为2的3×3最大池化层来减小输出高宽。第一模块使用一个64通道的7×7卷积层。\n",
    "\n",
    "第二模块使用2个卷积层：首先是64通道的1×1卷积层，然后是将通道增大3倍的3×3卷积层。它对应Inception块中的第二条线路。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "b1 = nn.Sequential(\n",
    "    nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3),\n",
    "    nn.ReLU(),\n",
    "    nn.MaxPool2d(kernel_size=3, stride=2, padding=1)\n",
    ") # 输出通道 64\n",
    "\n",
    "b2 = nn.Sequential(\n",
    "    nn.Conv2d(64, 64, kernel_size=1),\n",
    "    nn.Conv2d(64, 192, kernel_size=3, padding=1),\n",
    "    nn.MaxPool2d(kernel_size=3, stride=2, padding=1)\n",
    ") # 输出通道 192"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "第三模块串联2个完整的Inception块。第一个Inception块的输出通道数为64+128+32+32=256，其中4条线路的输出通道数比例为64:128:32:32=2:4:1:1。其中第二、第三条线路先分别将输入通道数减小至96/192=1/2和16/192=1/12后，再接上第二层卷积层。第二个Inception块输出通道数增至128+192+96+64=480，每条线路的输出通道数之比为128:192:96:64=4:6:3:2。其中第二、第三条线路先分别将输入通道数减小至128/256=1/2和32/256=1/8。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "b3 = nn.Sequential(\n",
    "    Inception(192, 64, (96,128), (16,32), 32),\n",
    "    Inception(256, 128, (128,192), (32,96), 64),\n",
    "    nn.MaxPool2d(kernel_size=3,stride=2, padding=1)\n",
    ") # 输出通道 480\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "第四模块更加复杂。它串联了5个Inception块，其输出通道数分别是192+208+48+64=512、160+224+64+64=512、128+256+64+64=512、112+288+64+64=528和256+320+128+128=832。这些线路的通道数分配和第三模块中的类似，首先含3×3卷积层的第二条线路输出最多通道，其次是仅含1×1卷积层的第一条线路，之后是含5×5卷积层的第三条线路和含3×3最大池化层的第四条线路。其中第二、第三条线路都会先按比例减小通道数。这些比例在各个Inception块中都略有不同。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "b4 = nn.Sequential(\n",
    "    Inception(480, 192, (96,208), (16,48), 64),\n",
    "    Inception(512, 160, (112,224), (24,64), 64),\n",
    "    Inception(512, 128, (128,256), (24,64), 64),\n",
    "    Inception(512, 112, (144,288), (32,64), 64),\n",
    "    Inception(528, 256, (160, 320), (32, 128), 128),\n",
    "    nn.MaxPool2d(kernel_size=3, stride=2, padding=1)\n",
    ") # 输出通道 832"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "第五模块有输出通道数为256+320+128+128=832和384+384+128+128=1024的两个Inception块。其中每条线路的通道数的分配思路和第三、第四模块中的一致，只是在具体数值上有所不同。需要注意的是，第五模块的后面紧跟输出层，该模块同NiN一样使用全局平均池化层来将每个通道的高和宽变成1。最后我们将输出变成二维数组后接上一个输出个数为标签类别数的全连接层。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "class GlobalAvgPool2d(nn.Module):\n",
    "    # 全局平均池化层可通过将池化窗口形状设置成输入的高和宽实现\n",
    "    def __init__(self):\n",
    "        super(GlobalAvgPool2d, self).__init__()\n",
    "    def forward(self, x):\n",
    "        return F.avg_pool2d(x, kernel_size=x.size()[2:])\n",
    "\n",
    "class FlattenLayer(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(FlattenLayer, self).__init__()\n",
    "    def forward(self, x):\n",
    "        return x.view(x.shape[0], -1)\n",
    "\n",
    "b5 = nn.Sequential(\n",
    "    Inception(832, 256, (160,320), (32,128), 128),\n",
    "    Inception(832, 384, (192,384), (48,128), 128),\n",
    "    GlobalAvgPool2d()\n",
    ") # 输出通道 1024"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sequential(\n",
      "  (0): Sequential(\n",
      "    (0): Conv2d(1, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3))\n",
      "    (1): ReLU()\n",
      "    (2): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n",
      "  )\n",
      "  (1): Sequential(\n",
      "    (0): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1))\n",
      "    (1): Conv2d(64, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "    (2): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n",
      "  )\n",
      "  (2): Sequential(\n",
      "    (0): Inception(\n",
      "      (p1_1): Conv2d(192, 64, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(192, 96, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(96, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(192, 16, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(16, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(192, 32, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (1): Inception(\n",
      "      (p1_1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(128, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(256, 32, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(32, 96, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (2): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n",
      "  )\n",
      "  (3): Sequential(\n",
      "    (0): Inception(\n",
      "      (p1_1): Conv2d(480, 192, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(480, 96, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(96, 208, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(480, 16, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(16, 48, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(480, 64, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (1): Inception(\n",
      "      (p1_1): Conv2d(512, 160, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(512, 112, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(112, 224, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(512, 24, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(24, 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(512, 64, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (2): Inception(\n",
      "      (p1_1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(512, 24, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(24, 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(512, 64, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (3): Inception(\n",
      "      (p1_1): Conv2d(512, 112, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(512, 144, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(144, 288, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(32, 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(512, 64, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (4): Inception(\n",
      "      (p1_1): Conv2d(528, 256, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(528, 160, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(160, 320, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(528, 32, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(32, 128, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(528, 128, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (5): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n",
      "  )\n",
      "  (4): Sequential(\n",
      "    (0): Inception(\n",
      "      (p1_1): Conv2d(832, 256, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(832, 160, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(160, 320, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(832, 32, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(32, 128, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(832, 128, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (1): Inception(\n",
      "      (p1_1): Conv2d(832, 384, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_1): Conv2d(832, 192, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p2_2): Conv2d(192, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
      "      (p3_1): Conv2d(832, 48, kernel_size=(1, 1), stride=(1, 1))\n",
      "      (p3_2): Conv2d(48, 128, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n",
      "      (p4_1): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)\n",
      "      (p4_2): Conv2d(832, 128, kernel_size=(1, 1), stride=(1, 1))\n",
      "    )\n",
      "    (2): GlobalAvgPool2d()\n",
      "  )\n",
      "  (5): FlattenLayer()\n",
      "  (6): Linear(in_features=1024, out_features=10, bias=True)\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "# 整个网络由以上 5 模块组成\n",
    "net = nn.Sequential(b1, b2, b3, b4, b5, FlattenLayer(), nn.Linear(1024,10))\n",
    "print(net)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "GoogLeNet模型的计算复杂，而且不如VGG那样便于修改通道数。本节里我们将输入的高和宽从224降到96来简化计算。下面演示各个模块之间的输出的形状变化。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 output shape:  torch.Size([1, 64, 24, 24])\n",
      "1 output shape:  torch.Size([1, 192, 12, 12])\n",
      "2 output shape:  torch.Size([1, 480, 6, 6])\n",
      "3 output shape:  torch.Size([1, 832, 3, 3])\n",
      "4 output shape:  torch.Size([1, 1024, 1, 1])\n",
      "5 output shape:  torch.Size([1, 1024])\n",
      "6 output shape:  torch.Size([1, 10])\n"
     ]
    }
   ],
   "source": [
    "# 构建一个数据样本来查看每个模块的输出形状\n",
    "x = torch.rand(1, 1, 96, 96)\n",
    "for name,blk in net.named_children():\n",
    "    x = blk(x)\n",
    "    print(name, 'output shape: ', x.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 output shape:  torch.Size([128, 64, 24, 24])\n",
      "1 output shape:  torch.Size([128, 192, 12, 12])\n",
      "2 output shape:  torch.Size([128, 480, 6, 6])\n",
      "3 output shape:  torch.Size([128, 832, 3, 3])\n",
      "4 output shape:  torch.Size([128, 1024, 1, 1])\n",
      "5 output shape:  torch.Size([128, 1024])\n",
      "6 output shape:  torch.Size([128, 10])\n"
     ]
    }
   ],
   "source": [
    "# 如果是一个批量的样本\n",
    "batch_size = 128\n",
    "x = torch.rand(batch_size, 1, 96, 96)\n",
    "for name,blk in net.named_children():\n",
    "    x = blk(x)\n",
    "    print(name, 'output shape: ', x.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 获取数据训练模型\n",
    "import sys\n",
    "import torchvision\n",
    "import torchvision.transforms as transforms\n",
    "\n",
    "def load_data_fashion_mnist(batch_size, resize=None, root=\"Datasets/FashionMNIST\"):\n",
    "    \"\"\"Download the fashion mnist dataset and then load into memory.\"\"\"\n",
    "    trans = []\n",
    "    if resize:\n",
    "        trans.append(transforms.Resize(size=resize))\n",
    "    trans.append(transforms.ToTensor())\n",
    "    transform = transforms.Compose(trans)\n",
    "    mnist_train = torchvision.datasets.FashionMNIST(root=root, train=True, download=True, transform=transform)\n",
    "    mnist_test = torchvision.datasets.FashionMNIST(root=root, train=False, download=True, transform=transform)\n",
    "    \n",
    "    if sys.platform.startswith('win'):\n",
    "        num_workers = 4\n",
    "    else:\n",
    "        num_workers = 4\n",
    "    train_iter = torch.utils.data.DataLoader(mnist_train, batch_size=batch_size, shuffle=True, num_workers=4)\n",
    "    test_iter = torch.utils.data.DataLoader(mnist_test, batch_size=batch_size, shuffle=False, num_workers=4)\n",
    "    return train_iter, test_iter\n",
    "\n",
    "def evaluate_accuracy(data_iter, net, device=None):\n",
    "    if device is None and isinstance(net, torch.nn.Module):\n",
    "        # 如果没有指定device，就使用net的device\n",
    "        device = list(net.parameters())[0].device\n",
    "    acc_sum, n = 0.0, 0\n",
    "    with torch.no_grad():\n",
    "        for X, y in data_iter:\n",
    "            if isinstance(net, torch.nn.Module):\n",
    "                net.eval() # 评估模型，这会关闭dropout\n",
    "                acc_sum += (net(X.to(device)).argmax(dim=1)==y.to(device)).float().sum().cpu().item()\n",
    "                net.train() # 改回训练模型\n",
    "            else: # 自定义的模型，不考虑使用GPU\n",
    "                if ('is_training' in net.__code__.co_varnames): # 如果有is_training这个参数\n",
    "                    # 将is_training设置成False\n",
    "                    acc_sum += (net(x, is_training=False).argmax(dim=1)==y).float().sum().item()\n",
    "                else:\n",
    "                    acc_sum += (net(x).argmax(dim=1)==y).float().sum().item()\n",
    "            n += y.shape[0]\n",
    "    return acc_sum/n\n",
    "\n",
    "def train_model(net, train_iter, test_iter, batch_size, optimizer, device, num_epochs):\n",
    "    net = net.to(device)\n",
    "    print('training on ', device)\n",
    "    loss = torch.nn.CrossEntropyLoss()\n",
    "    for epoch in range(num_epochs):\n",
    "        train_ls_sum, train_acc_sum = 0.0, 0.0\n",
    "        n, batch_count, start = 0, 0, time.time()\n",
    "        for X, y in train_iter:\n",
    "            X = X.to(device)\n",
    "            y = y.to(device)\n",
    "            y_hat = net(X)\n",
    "            l = loss(y_hat, y)\n",
    "            optimizer.zero_grad()\n",
    "            l.backward()\n",
    "            optimizer.step()\n",
    "            train_ls_sum += l.cpu().item()\n",
    "            train_acc_sum += (y_hat.argmax(dim=1)==y).sum().cpu().item()\n",
    "            n += y.shape[0]\n",
    "            batch_count += 1\n",
    "        test_acc = evaluate_accuracy(test_iter, net)\n",
    "        print('epoch %d, loss %.4f, train_acc %.3f, test_acc %.3f, time %.1f sec' % (epoch + 1, train_ls_sum/batch_count, train_acc_sum/n, test_acc, time.time() - start))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "training on  cuda\n",
      "epoch 1, loss 1.1252, train_acc 0.562, test_acc 0.819, time 230.2 sec\n",
      "epoch 2, loss 0.4358, train_acc 0.841, test_acc 0.843, time 228.6 sec\n",
      "epoch 3, loss 0.3490, train_acc 0.870, test_acc 0.862, time 228.4 sec\n",
      "epoch 4, loss 0.3101, train_acc 0.885, test_acc 0.872, time 228.2 sec\n",
      "epoch 5, loss 0.2827, train_acc 0.896, test_acc 0.889, time 229.5 sec\n"
     ]
    }
   ],
   "source": [
    "batch_size = 128\n",
    "# 如出现“out of memory”的报错信息，可减小batch_size或resize\n",
    "train_iter, test_iter = load_data_fashion_mnist(batch_size, resize=96)\n",
    "lr, num_epochs = 0.001, 5\n",
    "optimizer = torch.optim.Adam(net.parameters(), lr=lr)\n",
    "train_model(net, train_iter, test_iter, batch_size, optimizer, device, num_epochs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 小结\n",
    "1、Inception块相当于一个有4条线路的子网络。它通过不同窗口形状的卷积层和最大池化成来并行抽取信息，并使用1x1卷积层减少通道数从而降低模型复杂度\n",
    "\n",
    "2、GoogLeNet将多个设计精细的Inception块和其他层串联起来。其中Inception块的通道数分配之比是在ImageNet数据集上通过大量的实验得来的。\n",
    "\n",
    "3、GoogLeNet和它后继者们一度是ImageNet上最高效的模型之一：在类似的测试精度下，它们的计算复杂度往往更低。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "yczlab_3.6",
   "language": "python",
   "name": "yczlab_python3.6"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
